#!/bin/bash
# chkconfig: 12345 05 90
# description: This runs the HMC configuration.
#


JAVAPATH="/opt/IBMJava2-131/jre/bin/"
x=`type -p java 2>/dev/null`
if [ "$x" != "" ]
then
  JAVAPATH=`/usr/bin/dirname $x`
fi
# Source function library.
. /etc/init.d/functions

case "$1" in
 start)
        mount /mnt/upgrade
	if [ -f /mnt/upgrade/doRestore ]
	then
	   if [ -f /mnt/upgrade/SaveHSCSystemUpgradeData.tar ]
	   then
              cd /
              tar -xf/mnt/upgrade/SaveHSCSystemUpgradeData.tar /var/hsc/tmp/cimomcfg.properties.reboot
	   fi
	fi
        umount /mnt/upgrade
	if [ -f /var/hsc/tmp/cimomcfg.properties.reboot ]
	then
   	  sed -e '/^ *SocketProvider *=/d' /opt/hsc/data/cim.properties > /tmp/_cimomcfg.tmp
          cat /tmp/_cimomcfg.tmp /var/hsc/tmp/cimomcfg.properties.reboot > /opt/hsc/data/cim.properties
   	  rm -f /tmp/_cimomcfg.tmp
   	  rm -f /var/hsc/tmp/cimomcfg.properties.reboot
	fi
	if [ -f /opt/hsc/data/hmcConfigured ]
	then
   	  exit 0
	fi
	echo -n "Querying vital product data"

	touch /var/lock/subsys/hmcConfig
	bmodel=`cat /opt/hsc/data/hmcmodel.dat`
	cmodel=`cat /opt/hsc/data/hmcmodel.dat`
	export LD_LIBRARY_PATH=/usr/lib:/opt/hsc/lib:/opt/hsc/lib/hmcjni:$LD_LIBRARY_PATH
	CLASSPATH=/usr/websm/codebase/pluginjars/HwmcaCommon.jar:/usr/websm/codebase/pluginjars/auifw.jar:/opt/hsc/:/usr/websm/codebase/pluginjars/hsc.jar:/usr/websm/codebase/pluginjars/sniacimom.jar:/usr/websm/codebase/pluginjars/xerces.jar:/usr/websm/codebase/wsm.jar:/usr/websm/codebase/pluginjars/hsc.jar:$CLASSPATH
	export CLASSPATH
	export PATH=$JAVAPATH:$PATH

	x=`java com.ibm.hsc.common.util.HSCVPD | grep Model`
	if [ $? -eq 0 ]
	then
	   cmodel=`echo $x | cut -d':' -f2 | cut -c2-5`
           mtype=`echo $x | cut -d':' -f2 | cut -c6-8`
	fi
	if [ "$cmodel" != "$bmodel" ]
	then
	   cd /
           if [  "$cmodel" = "7315"  -a  "$mtype" = "C01"  ]
           then
# 7315-C01 must be treated like 6792
              tar -xf /opt/hsc/data/6792.tar
           else
	      tar -xf /opt/hsc/data/$cmodel.tar
	   fi
	fi

	touch /opt/hsc/data/hmcConfigured

        # Base model has 1GB of swap
        # If current memory is more than 1GB then create swap space
        # and update /etc/fstab

        if [ "$cmodel" != "$bmodel" ]
        then
           # make sure swap space is not already added
           x=`grep extra-swap /etc/fstab 2>/dev/null`
           if [ $? -ne 0 ]
           then
              echo -n "Adding extra swap space"
              dd if=/dev/zero of=/extra-swap bs=1024 count=1024000
              chmod 0600 /extra-swap
              mkswap /extra-swap 1024000
              swapon /extra-swap
              echo "/extra-swap         none                    swap    sw              0 0" >>/etc/fstab
           fi
        fi

	;;
 stop)
 	rm -f /var/lock/subsys/hmcConfig
 	;;
 *)
 	echo "Usage: hmcConfig {start|stop}"
	exit 1
	;;
esac
exit 0

